Managing firewalls that control incoming and outgoing network traffic for various networks within a datacenter can be very complicated, particularly when large numbers of physical and/or virtual computing systems are involved. On the one hand, it is important to close unused network ports in the firewalls to block harmful or unwanted network traffic from degrading the performance of the network or the computing systems within the network. On the other hand, some network ports for computing systems need to be open to allow important network traffic to flow. Unfortunately, opening and closing firewall ports is usually a manual process that involves explicitly opening/closing ports or implementing static rules, which can be time-consuming, error-prone, and difficult to audit. Furthermore, once opened, ports will remain open until expressly closed, which can present a security concern when ports that are no longer being used are left open. However, closing the opened ports runs the risk of inadvertently closing ports that are still being used, which can cause important network traffic between client systems and their target servers to be interrupted.